﻿using System.Web.Mvc;

namespace Kaiser.MvcBase.ViewEngines
{
    public class ThemesRazorViewEngine : RazorViewEngine
    {
        public ThemesRazorViewEngine()
        {
            //Area视图路径其中{2},{1},{0}分别代表Area名，Controller名，Action名  
            AreaViewLocationFormats = new[] { "~/Skins/{2}/{1}/{0}.cshtml", "~/Skins/Shared/{0}.cshtml", "~/Skins/{2}/Shared/{0}.cshtml" };
            //Area模版路径  
            AreaMasterLocationFormats = new[] { "~/Skins/Shared/{0}.cshtml", };

            //Area的分部视图路径  
            AreaPartialViewLocationFormats = new[] { "~/Skins/{2}/{1}/{0}.cshtml", "~/Skins/{2}/Shared/{0}.cshtml", "~/Skins/Shared/{0}.cshtml", "~/Skins/Shared/Control/{0}.cshtml" };
            //主视图路径  
            ViewLocationFormats = new[] { "~/Skins/{1}/{0}.cshtml", "~/Skins/Shared/{0}.cshtml" };
            //主模版路径  
            MasterLocationFormats = new[] { "~/Skins/Shared/{0}.cshtml" };
            
            //主分部视图路径  
            PartialViewLocationFormats = new[] { "~/Skins/{1}/{0}.cshtml", "~/Skins/Shared/{0}.cshtml" };

            
        }

        protected override IView CreatePartialView(ControllerContext controllerContext, string partialPath)
        {
            return base.CreatePartialView(controllerContext, partialPath);
        }

        protected override IView CreateView(ControllerContext controllerContext, string viewPath, string masterPath)
        {
            return base.CreateView(controllerContext, viewPath, masterPath);
        }

        protected override bool FileExists(ControllerContext controllerContext, string virtualPath)
        {
            return base.FileExists(controllerContext, virtualPath);
        }
    }
}
